* run vtesto jobs in parallel.
with the configure flow and "make check-vtesto".
This will be utilized on travis.
* add missing gitignore for new valgrind logs.
DEPFILES = $(OBJS:.o=.d)
+TESTCASES := $(sort $(wildcard $(srcdir)/testo.d/*.test))
+VGLOGS := $(addprefix $(builddir)/testo.d/, $(addsuffix .vglog, $(basename $(notdir $(TESTCASES)))))
+
.cc.o:
$(CXX) @CPPFLAGS@ @CXXFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
.c.o:
$(CC) @CPPFLAGS@ @CFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
-
+%.vglog: FORCE
+ @$(srcdir)/vtesto -l -j $@ $(basename $(notdir $@))
# Directory of local web doc. Traditionally a sibling to the GPSBabel tree.
WEB=@DOCDIR@
# Declaring a target PHONY whose names matches a subdirectory can be
# particularly important, e.g. gui.
-.PHONY: all clean tag more-clean check torture \
+.PHONY: all clean tag more-clean check check-vtesto torture \
install install-debug \
dep doc \
release-sourcecheck release-tarball release-rpm \
$(RC) -o fileinfo.o win32/gpsbabel.rc
clean:
- rm -f $(OBJS) gpsbabel gpsbabel.exe
+ rm -f $(OBJS) gpsbabel gpsbabel.exe $(VGLOGS)
if [ -f gui/Makefile ]; then $(MAKE) -C gui clean; fi
$(srcdir)/test-all -W
check: gpsbabel$(EXEEXT)
$(srcdir)/testo
+check-vtesto: gpsbabel$(EXEEXT)
+ $(MAKE) $(VGLOGS)
+
torture: gpsbabel$(EXEEXT)
@echo "testo in progress... (basic data integrity test)"
@$(srcdir)/testo
./test_encoding_latin1
./test_encoding_utf8
#make torture
-rm -f vg.log
-./vtesto -l -j vg.log
+make -k -j2 check-vtesto
# eat the verbose output from test-all, including crash.output
# this is a bit risky, if test-all generates an error we won't see what happened.
echo "test-all in progress... (read/write test between all possible formats)"
as_dir=shapelib; as_fn_mkdir_p
as_dir=src/core; as_fn_mkdir_p
as_dir=zlib/contrib/minizip; as_fn_mkdir_p
+as_dir=testo.d; as_fn_mkdir_p
ac_config_files="$ac_config_files Makefile gbversion.h gui/setup.iss xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc"
AS_MKDIR_P([shapelib])
AS_MKDIR_P([src/core])
AS_MKDIR_P([zlib/contrib/minizip])
+AS_MKDIR_P([testo.d])
AC_CONFIG_FILES([Makefile gbversion.h gui/setup.iss xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc])
AC_CONFIG_FILES([gui/makelinuxdist.sh], [chmod +x gui/makelinuxdist.sh])
gpsbabel -i kml -f ${REFERENCE}/track/Placemark-Track-1.kml -o gpx -F ${TMPDIR}/Placemark-Track-1~kml.gpx
compare ${REFERENCE}/track/Placemark-Track-1~kml.gpx ${TMPDIR}/Placemark-Track-1~kml.gpx
-set -e
-if which xmllint > /dev/null;
-then
- KMLS=$(find ${REFERENCE} -name \*.kml)
- for f in $KMLS
- do
- case $f in
- # Argue with the KML wizards about this. It was the intent for that
- # to be legal in Earth GX 2.2.
- ${REFERENCE}/track/segmented_tracks-track.kml) continue;;
- *)
- tmpf=${TMPDIR}/$(basename $f)
- gpsbabel -i kml -f $f -o kml -F $tmpf
- xmllint --schema ${BASEPATH}/tools/kml22-schema/kml22gx.xsd --noout $tmpf
- esac;
- done
-else
- echo "Skipping KML validation phase."
+if [ "${RUNNINGVALGRIND}" != "0" ]; then
+ set -e
+ if which xmllint > /dev/null;
+ then
+ KMLS=$(find ${REFERENCE} -name \*.kml)
+ for f in $KMLS
+ do
+ case $f in
+ # Argue with the KML wizards about this. It was the intent for that
+ # to be legal in Earth GX 2.2.
+ ${REFERENCE}/track/segmented_tracks-track.kml) continue;;
+ *)
+ tmpf=${TMPDIR}/$(basename $f)
+ gpsbabel -i kml -f $f -o kml -F $tmpf
+ xmllint --schema ${BASEPATH}/tools/kml22-schema/kml22gx.xsd --noout $tmpf
+ esac;
+ done
+ else
+ echo "Skipping KML validation phase."
+ fi
+ set +e
fi
-set +e
while getopts "lj:" opt; do
case $opt in
- l) OPTS="--leak-check=full --show-reachable=yes --num-callers=24 --suppressions=gpsbabel.supp" ; QUIET="";;
+ l) OPTS="--leak-check=full --show-reachable=yes --num-callers=24 --suppressions=${BASEPATH}/gpsbabel.supp" ; QUIET="";;
j) LOG=$OPTARG;;
esac
done